package com.leo.train.business.service;

import com.leo.train.business.dto.DailyTrainInfoQueryDto;
import com.leo.train.business.entity.DailyTrainInfo;
import com.leo.train.common.resp.CommonResp;
import com.leo.train.common.resp.PageResult;

import java.util.Date;
import java.util.List;

public interface DailyTrainInfoService {

    /**
     * 保存
     * @param dailyTrainInfo
     * @return
     */
    void save(DailyTrainInfo dailyTrainInfo);

    /**
     * 删除
     * @param id
     */
    void delete(Long id);

    /**
     * 查询火车列表
     * @param dailyTrainInfoQueryDto
     * @return
     */
    PageResult<DailyTrainInfo> list(DailyTrainInfoQueryDto dailyTrainInfoQueryDto);

    /**
     * 详情
     * @param id
     * @return
     */
    DailyTrainInfo detail(Long id);

    /**
     * 生成某日所有车次
     * @param  date
     * @param trainCode
     */
    void genDaily(Date date, String trainCode);

    /**
     * 查询某日所有车次信息
     * @param trainCode
     * @param date
     * @return
     */
    CommonResp<List<DailyTrainInfo>> getTrainStation(String trainCode, Date date);
}
